[INFO] cloning repository https://github.com/RaheesAhmed/wifi_scanner
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RaheesAhmed/wifi_scanner" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRaheesAhmed%2Fwifi_scanner", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRaheesAhmed%2Fwifi_scanner'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 01b513a83ac7274dfa738dedfefe3ac0fcdbc9ff
[INFO] fixing RaheesAhmed/wifi_scanner against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRaheesAhmed%2Fwifi_scanner" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/RaheesAhmed/wifi_scanner
[INFO] finished tweaking git repo https://github.com/RaheesAhmed/wifi_scanner
[INFO] tweaked toml for git repo https://github.com/RaheesAhmed/wifi_scanner written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/RaheesAhmed/wifi_scanner on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/RaheesAhmed/wifi_scanner already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded handlebars v4.5.0
[INFO] [stderr]   Downloaded block-modes v0.9.1
[INFO] [stderr]   Downloaded actix-ws v0.2.5
[INFO] [stderr]   Downloaded clap v4.5.35
[INFO] [stderr]   Downloaded cc v1.2.18
[INFO] [stderr]   Downloaded miniz_oxide v0.8.7
[INFO] [stderr]   Downloaded clap_builder v4.5.35
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 117d33fda14d69054adae334c800bb7dfb9f8019dbfb66d568ee1d1ca98d471e
[INFO] running `Command { std: "docker" "start" "117d33fda14d69054adae334c800bb7dfb9f8019dbfb66d568ee1d1ca98d471e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "117d33fda14d69054adae334c800bb7dfb9f8019dbfb66d568ee1d1ca98d471e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "117d33fda14d69054adae334c800bb7dfb9f8019dbfb66d568ee1d1ca98d471e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "117d33fda14d69054adae334c800bb7dfb9f8019dbfb66d568ee1d1ca98d471e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]     Checking litemap v0.7.5
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.1
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]    Compiling icu_properties_data v1.5.1
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.1
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]     Checking local-waker v0.1.4
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]     Checking miniz_oxide v0.8.7
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling cc v1.2.18
[INFO] [stderr]    Compiling bytestring v1.4.0
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking brotli-decompressor v4.0.2
[INFO] [stderr]     Checking actix-service v2.0.3
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking brotli v7.0.0
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling v_htmlescape v0.15.8
[INFO] [stderr]     Checking impl-more v0.1.9
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking unicase v2.8.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking clap_builder v4.5.35
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking http-range v0.1.5
[INFO] [stderr]     Checking humantime v2.2.0
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]     Checking block-modes v0.9.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]    Compiling pest v2.8.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling derive_more v0.99.19
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking tokio-util v0.7.14
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking actix-server v2.5.1
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking clap v4.5.35
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking handlebars v4.5.0
[INFO] [stderr]     Checking actix-http v3.10.0
[INFO] [stderr]     Checking actix-web v4.10.2
[INFO] [stderr]     Checking actix-ws v0.2.5
[INFO] [stderr]     Checking actix-files v0.6.6
[INFO] [stderr]     Checking wifi_scanner v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:393:41
[INFO] [stdout]     |
[INFO] [stdout] 393 |             anonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 393 |             anonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:394:41
[INFO] [stdout]     |
[INFO] [stdout] 394 |             snonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 394 |             snonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:395:38
[INFO] [stdout]     |
[INFO] [stdout] 395 |             mic: (0..16).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                      ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 395 |             mic: (0..16).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                      ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:396:46
[INFO] [stdout]     |
[INFO] [stdout] 396 |             eapol_data: (0..100).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                              ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 396 |             eapol_data: (0..100).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                              ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:479:57
[INFO] [stdout]     |
[INFO] [stdout] 479 | ...                   anonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                   ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 479 |                             anonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:480:57
[INFO] [stdout]     |
[INFO] [stdout] 480 | ...                   snonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                   ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 480 |                             snonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:481:54
[INFO] [stdout]     |
[INFO] [stdout] 481 | ...                   mic: (0..16).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 481 |                             mic: (0..16).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                      ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:482:62
[INFO] [stdout]     |
[INFO] [stdout] 482 | ...                   eapol_data: (0..100).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                        ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 482 |                             eapol_data: (0..100).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                              ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:515:41
[INFO] [stdout]     |
[INFO] [stdout] 515 |             anonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 515 |             anonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:516:41
[INFO] [stdout]     |
[INFO] [stdout] 516 |             snonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 516 |             snonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:517:38
[INFO] [stdout]     |
[INFO] [stdout] 517 |             mic: (0..16).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                      ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 517 |             mic: (0..16).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                      ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:518:46
[INFO] [stdout]     |
[INFO] [stdout] 518 |             eapol_data: (0..100).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                              ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 518 |             eapol_data: (0..100).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                              ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:787:53
[INFO] [stdout]     |
[INFO] [stdout] 787 |                         anonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                     ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 787 |                         anonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:788:53
[INFO] [stdout]     |
[INFO] [stdout] 788 |                         snonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                     ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 788 |                         snonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:789:50
[INFO] [stdout]     |
[INFO] [stdout] 789 |                         mic: (0..16).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                  ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 789 |                         mic: (0..16).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:790:58
[INFO] [stdout]     |
[INFO] [stdout] 790 |                         eapol_data: (0..100).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                          ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 790 |                         eapol_data: (0..100).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                          ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:393:41
[INFO] [stdout]     |
[INFO] [stdout] 393 |             anonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 393 |             anonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:394:41
[INFO] [stdout]     |
[INFO] [stdout] 394 |             snonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 394 |             snonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:395:38
[INFO] [stdout]     |
[INFO] [stdout] 395 |             mic: (0..16).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                      ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 395 |             mic: (0..16).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                      ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:396:46
[INFO] [stdout]     |
[INFO] [stdout] 396 |             eapol_data: (0..100).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                              ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 396 |             eapol_data: (0..100).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                              ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:479:57
[INFO] [stdout]     |
[INFO] [stdout] 479 | ...                   anonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                   ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 479 |                             anonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:480:57
[INFO] [stdout]     |
[INFO] [stdout] 480 | ...                   snonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                   ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 480 |                             snonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:481:54
[INFO] [stdout]     |
[INFO] [stdout] 481 | ...                   mic: (0..16).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 481 |                             mic: (0..16).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                      ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:482:62
[INFO] [stdout]     |
[INFO] [stdout] 482 | ...                   eapol_data: (0..100).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                        ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 482 |                             eapol_data: (0..100).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                              ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:515:41
[INFO] [stdout]     |
[INFO] [stdout] 515 |             anonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 515 |             anonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:516:41
[INFO] [stdout]     |
[INFO] [stdout] 516 |             snonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 516 |             snonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:517:38
[INFO] [stdout]     |
[INFO] [stdout] 517 |             mic: (0..16).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                      ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 517 |             mic: (0..16).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                      ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:518:46
[INFO] [stdout]     |
[INFO] [stdout] 518 |             eapol_data: (0..100).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                              ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 518 |             eapol_data: (0..100).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                              ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:787:53
[INFO] [stdout]     |
[INFO] [stdout] 787 |                         anonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                     ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 787 |                         anonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:788:53
[INFO] [stdout]     |
[INFO] [stdout] 788 |                         snonce: (0..32).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                     ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 788 |                         snonce: (0..32).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:789:50
[INFO] [stdout]     |
[INFO] [stdout] 789 |                         mic: (0..16).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                  ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 789 |                         mic: (0..16).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]    --> src/packet_capture.rs:790:58
[INFO] [stdout]     |
[INFO] [stdout] 790 |                         eapol_data: (0..100).map(|_| rng.gen::<u8>()).collect(),
[INFO] [stdout]     |                                                          ^^^ expected identifier, found reserved keyword
[INFO] [stdout]     |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]     |
[INFO] [stdout] 790 |                         eapol_data: (0..100).map(|_| rng.r#gen::<u8>()).collect(),
[INFO] [stdout]     |                                                          ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `interface` in this scope
[INFO] [stdout]    --> src/packet_capture.rs:169:33
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |                        ---------- `_interface` defined here
[INFO] [stdout] ...
[INFO] [stdout] 169 |             .args(["iw", "dev", interface, "set", "channel", &channel.to_string()])
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_interface` marks it as unused, consider renaming it to `interface`
[INFO] [stdout]     |
[INFO] [stdout] 161 - pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout] 161 + pub fn capture_packets(interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `bssid` in this scope
[INFO] [stdout]    --> src/packet_capture.rs:174:54
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |                                                       ------ `_bssid` defined here
[INFO] [stdout] ...
[INFO] [stdout] 174 |         let output_file = format!("capture_{}.pcap", bssid.replace(":", ""));
[INFO] [stdout]     |                                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_bssid` marks it as unused, consider renaming it to `bssid`
[INFO] [stdout]     |
[INFO] [stdout] 161 - pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout] 161 + pub fn capture_packets(_interface: &str, channel: u8, bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `interface` in this scope
[INFO] [stdout]    --> src/packet_capture.rs:178:23
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |                        ---------- `_interface` defined here
[INFO] [stdout] ...
[INFO] [stdout] 178 |                 "-i", interface,
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_interface` marks it as unused, consider renaming it to `interface`
[INFO] [stdout]     |
[INFO] [stdout] 161 - pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout] 161 + pub fn capture_packets(interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `bssid` in this scope
[INFO] [stdout]    --> src/packet_capture.rs:180:43
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |                                                       ------ `_bssid` defined here
[INFO] [stdout] ...
[INFO] [stdout] 180 |                 &format!("ether host {}", bssid),
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_bssid` marks it as unused, consider renaming it to `bssid`
[INFO] [stdout]     |
[INFO] [stdout] 161 - pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout] 161 + pub fn capture_packets(_interface: &str, channel: u8, bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `interface` in this scope
[INFO] [stdout]    --> src/main.rs:460:26
[INFO] [stdout]     |
[INFO] [stdout] 449 | fn scan_networks(_interface: &str) -> Result<Vec<WifiNetwork>> {
[INFO] [stdout]     |                  ---------- `_interface` defined here
[INFO] [stdout] ...
[INFO] [stdout] 460 |         .args(["iwlist", interface, "scanning"])
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_interface` marks it as unused, consider renaming it to `interface`
[INFO] [stdout]     |
[INFO] [stdout] 449 - fn scan_networks(_interface: &str) -> Result<Vec<WifiNetwork>> {
[INFO] [stdout] 449 + fn scan_networks(interface: &str) -> Result<Vec<WifiNetwork>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> src/web_ui.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `HandshakeCapture: _::_serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/web_ui.rs:156:16
[INFO] [stdout]     |
[INFO] [stdout] 156 |       let data = json!({
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 157 | |         "title": "Handshakes - WiFi Scanner",
[INFO] [stdout] 158 | |         "interface": interface.to_string(),
[INFO] [stdout] 159 | |         "handshakes": handshakes.to_vec(),
[INFO] [stdout] 160 | |         "handshakes_count": handshakes.len()
[INFO] [stdout] 161 | |     });
[INFO] [stdout]     | |      ^
[INFO] [stdout]     | |      |
[INFO] [stdout]     | |______unsatisfied trait bound
[INFO] [stdout]     |        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `_::_serde::Serialize` is not implemented for `HandshakeCapture`
[INFO] [stdout]    --> src/packet_capture.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct HandshakeCapture {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Serialize)]` to your `HandshakeCapture` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `_::_serde::Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 135 others
[INFO] [stdout]     = note: required for `Vec<HandshakeCapture>` to implement `_::_serde::Serialize`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&Vec<HandshakeCapture>` to implement `_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `to_value`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.140/src/value/mod.rs:990:8
[INFO] [stdout]     |
[INFO] [stdout] 988 | pub fn to_value<T>(value: T) -> Result<Value, Error>
[INFO] [stdout]     |        -------- required by a bound in this function
[INFO] [stdout] 989 | where
[INFO] [stdout] 990 |     T: Serialize,
[INFO] [stdout]     |        ^^^^^^^^^ required by this bound in `to_value`
[INFO] [stdout]     = note: this error originates in the macro `$crate::json_internal` which comes from the expansion of the macro `json` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `HandshakeCapture: _::_serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/web_ui.rs:301:29
[INFO] [stdout]     |
[INFO] [stdout] 301 |       HttpResponse::Ok().json(json!({
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 302 | |         "status": "success",
[INFO] [stdout] 303 | |         "handshakes": handshakes.to_vec(),
[INFO] [stdout] 304 | |         "handshakes_count": handshakes.len()
[INFO] [stdout] 305 | |     }))
[INFO] [stdout]     | |      ^
[INFO] [stdout]     | |      |
[INFO] [stdout]     | |______unsatisfied trait bound
[INFO] [stdout]     |        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `_::_serde::Serialize` is not implemented for `HandshakeCapture`
[INFO] [stdout]    --> src/packet_capture.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct HandshakeCapture {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Serialize)]` to your `HandshakeCapture` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `_::_serde::Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 135 others
[INFO] [stdout]     = note: required for `Vec<HandshakeCapture>` to implement `_::_serde::Serialize`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&Vec<HandshakeCapture>` to implement `_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `to_value`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.140/src/value/mod.rs:990:8
[INFO] [stdout]     |
[INFO] [stdout] 988 | pub fn to_value<T>(value: T) -> Result<Value, Error>
[INFO] [stdout]     |        -------- required by a bound in this function
[INFO] [stdout] 989 | where
[INFO] [stdout] 990 |     T: Serialize,
[INFO] [stdout]     |        ^^^^^^^^^ required by this bound in `to_value`
[INFO] [stdout]     = note: this error originates in the macro `$crate::json_internal` which comes from the expansion of the macro `json` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `params` does not live long enough
[INFO] [stdout]    --> src/web_ui.rs:312:23
[INFO] [stdout]     |
[INFO] [stdout] 310 |       params: web::Json<serde_json::Value>,
[INFO] [stdout]     |       ------ binding `params` declared here
[INFO] [stdout] 311 |   ) -> impl Responder {
[INFO] [stdout] 312 |       let bssid = match params.get("bssid") {
[INFO] [stdout]     |                         ^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 333 | /     tokio::spawn(async move {
[INFO] [stdout] 334 | |         match packet_capture::capture_handshake(&interface, bssid, channel) {
[INFO] [stdout] 335 | |             Ok(handshake) => {
[INFO] [stdout] 336 | |                 let mut app_handshakes = app_state_clone.handshakes.lock().unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 344 | |     });
[INFO] [stdout]     | |______- argument requires that `params` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 350 |   }
[INFO] [stdout]     |   - `params` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/task/spawn.rs:168:28
[INFO] [stdout]     |
[INFO] [stdout] 168 |         F: Future + Send + 'static,
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `interface` in this scope
[INFO] [stdout]    --> src/packet_capture.rs:169:33
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |                        ---------- `_interface` defined here
[INFO] [stdout] ...
[INFO] [stdout] 169 |             .args(["iw", "dev", interface, "set", "channel", &channel.to_string()])
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_interface` marks it as unused, consider renaming it to `interface`
[INFO] [stdout]     |
[INFO] [stdout] 161 - pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout] 161 + pub fn capture_packets(interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `bssid` in this scope
[INFO] [stdout]    --> src/packet_capture.rs:174:54
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |                                                       ------ `_bssid` defined here
[INFO] [stdout] ...
[INFO] [stdout] 174 |         let output_file = format!("capture_{}.pcap", bssid.replace(":", ""));
[INFO] [stdout]     |                                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_bssid` marks it as unused, consider renaming it to `bssid`
[INFO] [stdout]     |
[INFO] [stdout] 161 - pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout] 161 + pub fn capture_packets(_interface: &str, channel: u8, bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `interface` in this scope
[INFO] [stdout]    --> src/packet_capture.rs:178:23
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |                        ---------- `_interface` defined here
[INFO] [stdout] ...
[INFO] [stdout] 178 |                 "-i", interface,
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_interface` marks it as unused, consider renaming it to `interface`
[INFO] [stdout]     |
[INFO] [stdout] 161 - pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout] 161 + pub fn capture_packets(interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `bssid` in this scope
[INFO] [stdout]    --> src/packet_capture.rs:180:43
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |                                                       ------ `_bssid` defined here
[INFO] [stdout] ...
[INFO] [stdout] 180 |                 &format!("ether host {}", bssid),
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_bssid` marks it as unused, consider renaming it to `bssid`
[INFO] [stdout]     |
[INFO] [stdout] 161 - pub fn capture_packets(_interface: &str, channel: u8, _bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout] 161 + pub fn capture_packets(_interface: &str, channel: u8, bssid: &str, duration_secs: u64) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `interface` in this scope
[INFO] [stdout]    --> src/main.rs:460:26
[INFO] [stdout]     |
[INFO] [stdout] 449 | fn scan_networks(_interface: &str) -> Result<Vec<WifiNetwork>> {
[INFO] [stdout]     |                  ---------- `_interface` defined here
[INFO] [stdout] ...
[INFO] [stdout] 460 |         .args(["iwlist", interface, "scanning"])
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_interface` marks it as unused, consider renaming it to `interface`
[INFO] [stdout]     |
[INFO] [stdout] 449 - fn scan_networks(_interface: &str) -> Result<Vec<WifiNetwork>> {
[INFO] [stdout] 449 + fn scan_networks(interface: &str) -> Result<Vec<WifiNetwork>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> src/web_ui.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_state`
[INFO] [stdout]    --> src/web_ui.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     app_state: web::Data<AppState>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_state`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `HandshakeCapture: _::_serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/web_ui.rs:156:16
[INFO] [stdout]     |
[INFO] [stdout] 156 |       let data = json!({
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 157 | |         "title": "Handshakes - WiFi Scanner",
[INFO] [stdout] 158 | |         "interface": interface.to_string(),
[INFO] [stdout] 159 | |         "handshakes": handshakes.to_vec(),
[INFO] [stdout] 160 | |         "handshakes_count": handshakes.len()
[INFO] [stdout] 161 | |     });
[INFO] [stdout]     | |      ^
[INFO] [stdout]     | |      |
[INFO] [stdout]     | |______unsatisfied trait bound
[INFO] [stdout]     |        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `_::_serde::Serialize` is not implemented for `HandshakeCapture`
[INFO] [stdout]    --> src/packet_capture.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct HandshakeCapture {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Serialize)]` to your `HandshakeCapture` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `_::_serde::Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 135 others
[INFO] [stdout]     = note: required for `Vec<HandshakeCapture>` to implement `_::_serde::Serialize`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&Vec<HandshakeCapture>` to implement `_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `to_value`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.140/src/value/mod.rs:990:8
[INFO] [stdout]     |
[INFO] [stdout] 988 | pub fn to_value<T>(value: T) -> Result<Value, Error>
[INFO] [stdout]     |        -------- required by a bound in this function
[INFO] [stdout] 989 | where
[INFO] [stdout] 990 |     T: Serialize,
[INFO] [stdout]     |        ^^^^^^^^^ required by this bound in `to_value`
[INFO] [stdout]     = note: this error originates in the macro `$crate::json_internal` which comes from the expansion of the macro `json` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `HandshakeCapture: _::_serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/web_ui.rs:301:29
[INFO] [stdout]     |
[INFO] [stdout] 301 |       HttpResponse::Ok().json(json!({
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 302 | |         "status": "success",
[INFO] [stdout] 303 | |         "handshakes": handshakes.to_vec(),
[INFO] [stdout] 304 | |         "handshakes_count": handshakes.len()
[INFO] [stdout] 305 | |     }))
[INFO] [stdout]     | |      ^
[INFO] [stdout]     | |      |
[INFO] [stdout]     | |______unsatisfied trait bound
[INFO] [stdout]     |        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `_::_serde::Serialize` is not implemented for `HandshakeCapture`
[INFO] [stdout]    --> src/packet_capture.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct HandshakeCapture {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Serialize)]` to your `HandshakeCapture` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `_::_serde::Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 135 others
[INFO] [stdout]     = note: required for `Vec<HandshakeCapture>` to implement `_::_serde::Serialize`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&Vec<HandshakeCapture>` to implement `_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `to_value`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.140/src/value/mod.rs:990:8
[INFO] [stdout]     |
[INFO] [stdout] 988 | pub fn to_value<T>(value: T) -> Result<Value, Error>
[INFO] [stdout]     |        -------- required by a bound in this function
[INFO] [stdout] 989 | where
[INFO] [stdout] 990 |     T: Serialize,
[INFO] [stdout]     |        ^^^^^^^^^ required by this bound in `to_value`
[INFO] [stdout]     = note: this error originates in the macro `$crate::json_internal` which comes from the expansion of the macro `json` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `params` does not live long enough
[INFO] [stdout]    --> src/web_ui.rs:312:23
[INFO] [stdout]     |
[INFO] [stdout] 310 |       params: web::Json<serde_json::Value>,
[INFO] [stdout]     |       ------ binding `params` declared here
[INFO] [stdout] 311 |   ) -> impl Responder {
[INFO] [stdout] 312 |       let bssid = match params.get("bssid") {
[INFO] [stdout]     |                         ^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 333 | /     tokio::spawn(async move {
[INFO] [stdout] 334 | |         match packet_capture::capture_handshake(&interface, bssid, channel) {
[INFO] [stdout] 335 | |             Ok(handshake) => {
[INFO] [stdout] 336 | |                 let mut app_handshakes = app_state_clone.handshakes.lock().unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 344 | |     });
[INFO] [stdout]     | |______- argument requires that `params` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 350 |   }
[INFO] [stdout]     |   - `params` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/task/spawn.rs:168:28
[INFO] [stdout]     |
[INFO] [stdout] 168 |         F: Future + Send + 'static,
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425, E0597.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wifi_scanner` (bin "wifi_scanner") due to 24 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `app_state`
[INFO] [stdout]    --> src/web_ui.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     app_state: web::Data<AppState>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_state`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425, E0597.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wifi_scanner` (bin "wifi_scanner" test) due to 24 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "117d33fda14d69054adae334c800bb7dfb9f8019dbfb66d568ee1d1ca98d471e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "117d33fda14d69054adae334c800bb7dfb9f8019dbfb66d568ee1d1ca98d471e", kill_on_drop: false }`
[INFO] [stdout] 117d33fda14d69054adae334c800bb7dfb9f8019dbfb66d568ee1d1ca98d471e
